Shor's algorithm, named after mathematician Peter Shor, is a quantum algorithm (an algorithm which runs on a quantum computer) for integer factorization formulated in 1994. Informally it solves the following problem: Given an integer N, find its prime factors.
On a quantum computer, to factor an integer N, Shor's algorithm runs in polynomial time (the time taken is polynomial in log N, which is the size of the input).[1] Specifically it takes time O((log N)3), demonstrating that the integer factorization problem can be efficiently solved on a quantum computer and is thus in the complexity class BQP. This is exponentially faster than the most efficient known classical factoring algorithm, the general number field sieve, which works in sub-exponential time -- about O(e1.9 (log N)1/3 (log log N)2/3)(http://mathworld.wolfram.com/NumberFieldSieve.html). The efficiency lies in the efficiency of the quantum Fourier transform, and modular exponentiation by squarings.
Given a quantum computer with a sufficient number of qubits, Shor's algorithm can be used to break public-key cryptography schemes such as the widely used RSA scheme. RSA is based on the assumption that factoring large numbers is computationally infeasible. So far as is known, this assumption is valid for classical (non-quantum) computers; no classical algorithm is known that can factor in polynomial time. However, Shor's algorithm shows that factoring is efficient on a quantum computer, so an appropriately large quantum computer can break RSA. It was also a powerful motivator for the design and construction of quantum computers and for the study of new quantum computer algorithms. It has also facilitated research on new cryptosystems that are secure from quantum computers, collectively called post-quantum cryptography.
In 2001, Shor's algorithm was demonstrated by a group at IBM, who factored 15 into 3 × 5, using an NMR implementation of a quantum computer with 7 qubits.[2] However, some doubts have been raised as to whether IBM's experiment was a true demonstration of quantum computation, since no entanglement was observed.[3] Since IBM's implementation, several other groups have implemented Shor's algorithm using photonic qubits, emphasizing that entanglement was observed.[4][5]
Contents |
The problem we are trying to solve is: given an odd composite number , find an integer , strictly between 1 and , that divides . We are interested in odd values of because any even value of trivially has the number 2 as a prime factor. We can use a primality testing algorithm to make sure that is indeed composite.
Moreover, for the algorithm to work, we need not to be the power of a prime. This can be tested by taking square, cubic, ..., -roots of , for , and checking that none of these is an integer. (This actually excludes that for some integer and .)
Since is not a power of a prime, it is the product of two coprime numbers greater than 1. As a consequence of the Chinese remainder theorem, 1 has at least four distinct roots modulo , two of them being 1 and . The aim of the algorithm is to find a square root of 1, other than 1 and ; such a will lead to a factorization of , as in other factoring algorithms like the quadratic sieve.
In turn, finding such a is reduced to finding an element of even period with a certain additional property (as explained below, it is required that the condition of Step 6 of the classical part does not hold). The quantum algorithm is used for finding the period of randomly chosen elements , as order-finding is a hard problem on a classical computer.
Shor's algorithm consists of two parts:
The quantum circuits used for this algorithm are custom designed for each choice of N and the random a used in f(x) = ax mod N. Given N, find Q = 2q such that , which implies . The input and output qubit registers need to hold superpositions of values from 0 to Q − 1, and so have q qubits each. Using what might appear to be twice as many qubits as necessary guarantees that there are at least N different x which produce the same f(x), even as the period r approaches N/2.
Proceed as follows:
The algorithm is composed of two parts. The first part of the algorithm turns the factoring problem into the problem of finding the period of a function, and may be implemented classically. The second part finds the period using the quantum Fourier transform, and is responsible for the quantum speedup.
The integers less than N and coprime with N form a finite Abelian group under multiplication modulo N. The size is given by Euler's totient function . By the end of step 3, we have an integer a in this group. Since the group is finite, a must have a finite order r, the smallest positive integer such that
Therefore, N divides (also written | ) a r − 1 . Suppose we are able to obtain r, and it is even. (If r is odd, see step 5.) Now is a square root of 1 modulo , different from 1. This is because is the order of modulo , so . If , by step 6 we have to restart the algorithm with a different random number .
Eventually, we must hit an , of order in , such that . This is because such a is a square root of 1 modulo , other than 1 and , whose existence is guaranteed by the Chinese remainder theorem, since is not a prime power.
We claim that is a proper factor of , that is, . In fact if , then divides , so that , against the construction of . If on the other hand , then by Bézout's identity there are integers such that
Multiplying both sides by we obtain
Since divides , we obtain that divides , so that , again contradicting the construction of .
Thus is the required proper factor of .
Shor's period-finding algorithm relies heavily on the ability of a quantum computer to be in many states simultaneously. Physicists call this behavior a "superposition" of states. To compute the period of a function f, we evaluate the function at all points simultaneously.
Quantum physics does not allow us to access all this information directly, though. A measurement will yield only one of all possible values, destroying all others. But for the no cloning theorem, we could first measure f(x) without measuring x, and then make a few copies of the resulting state (which is a superposition of states all having the same f(x)). Measuring x on these states would provide different x values which give the same f(x), leading to the period. Because we cannot make exact copies of a quantum state, this method does not work. Therefore we have to carefully transform the superposition to another state that will return the correct answer with high probability. This is achieved by the quantum Fourier transform.
Shor thus had to solve three "implementation" problems. All of them had to be implemented "fast", which means that they can be implemented with a number of quantum gates that is polynomial in .
After all these transformations a measurement will yield an approximation to the period r. For simplicity assume that there is a y such that yr/Q is an integer. Then the probability to measure y is 1. To see that we notice that then
for all integers b. Therefore the sum whose square gives us the probability to measure y will be Q/r since b takes roughly Q/r values and thus the probability is . There are r y such that yr/Q is an integer and also r possibilities for , so the probabilities sum to 1.
Note: another way to explain Shor's algorithm is by noting that it is just the quantum phase estimation algorithm in disguise.
Suppose we know that , for some r, and we wish to compute r, which is the discrete logarithm: . Consider the Abelian group where each factor corresponds to modular multiplication of nonzero values, assuming p is prime. Now, consider the function
This gives us an Abelian hidden subgroup problem, as f corresponds to a group homomorphism. The kernel corresponds to modular multiples of (r,1). So, if we can find the kernel, we can find r
On the television show Stargate Universe, the lead scientist, Dr. Nicholas Rush, hoped to use Shor's algorithm to crack Destiny's master code. He taught a quantum cryptography class at the University of California, Berkeley, in which Shor's algorithm was studied.[7]
Shor's algorithm was also a correct answer to a question in a Physics Bowl competition on the television show The Big Bang Theory.
|
|